# Funcion para chequear si el usuario es root
function chequear_usuario_root() {
	if [ $UID != 0 ]; then
	    echo "Error: debe correr este script como root:"
	    echo "sudo $0 $*"
	    exit 1
	fi
}

# Funcion para eliminar todas las instancias de openvpn
function kill_openvpn() {
	killall openvpn
}

# Funcion para eliminar todas las entradas de la tabla de ruteo
function eliminar_tabla_de_ruteo() {
	ip route flush all
}
# Funcion para log
function log() {
	WHEN=$(date "+%F %H:%M:%S:%N")
	echo -e "\n$WHEN - $1"
}
# Funcion que recibe por parametro una mascara de subred y devuelve
# el numero de bits en 1 contando desde izquierda a derecha.
# Solo admite mascaras desde /24 a /30
function convertir_mask() {
	case $1 in
		"255.255.255.0")
		echo 24
		;;
		"255.255.255.128")
		echo 25
		;;
		"255.255.255.192")
		echo 26
		;;
		"255.255.255.224")
		echo 27
		;;
		"255.255.255.240")
		echo 28
		;;
		"255.255.255.248")
		echo 29
		;;
		"255.255.255.252")
		echo 30
		;;
		*)
		echo ""
		;;
	esac
}
# Funcion para dar permisos de ejecucion a los scripts
function hacer_ejecutables() {
	chmod 777 *.sh
	#chmod 777 backup_config/*.sh
}
# Funcion para buscar una interfaz de red a utilizar
function get_interfaz_red() {
	# El -m1 es para que el grep tire solo la primer interfaz encontrada
	interfaz=`ifconfig | grep -m1 '^eth' | cut -f1 -d' '`
	if [ -z $interfaz ]
	then
		# Si no encuentra interfaz ethernet, busca interfaz wireless
		interfaz=`ifconfig | grep -m1 '^wlan' | cut -f1 -d' '`
		if [ -z $interfaz ]
		then
			# Si no encuentra ni ethernet ni wlan, termina ejecucion
			log "Error, no hay interfaz eth ni wlan"
			exit 1
		else
			echo $interfaz
		fi
	else
		echo $interfaz
	fi
}
